package com.ethan.crm.service;

import com.ethan.crm.domain.Employee;
import com.ethan.crm.page.PageResult;
import com.ethan.crm.query.EmployeeQueryObject;
import com.ethan.crm.util.AjaxResult;

import java.util.List;

public interface IEmployeeService {
    /**
     * 根据主键删除员工信息
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 新增员工信息
     * @param record
     * @return
     */
    AjaxResult insert(Employee record);

    /**
     * 根据主键查询员工信息
     * @param id
     * @return
     */
    Employee selectByPrimaryKey(Long id);

    /**
     * 查询所有员工信息
     * @return
     */
    List<Employee> selectAll();

    /**
     * 更新员工信息
     * @param record
     * @return
     */
    int updateByPrimaryKey(Employee record);

    int updateState(Long id);



    /**
     * 根据用户名和密码查询员工信息
     * @param username
     * @param password
     * @return
     */
    Employee getEmployeeForLogin(String username,String password);

    /**
     * 分页查询所有员工的信息
     * @param qo
     * @return
     */
    PageResult queryForPage(EmployeeQueryObject qo);
}
